JavaScript在執行網頁上的動畫特效時,透過流程控制可以決定動畫物件出現的先後順序,讓這些動畫物件都可以按照寫好的腳本出現。流程控制指令是透過條件式以及迴圈來執行的。
if else可以讓JavaScript在滿足某個條件下時,執行特定功能
var age=18;
if (age<18){
console.log("未滿18歲")
}
else{
console.log("超過18歲")
}
由於age定義數值為18,在if else內,沒有達到age小於18的條件,因此會執行else區塊的指令,因此程式執行結果為「超過18歲」。除了if else指令外,還可以使用switch,當條件數量很多時,可以加以利用
var drink="milk"
switch(drink){
case "milk":
console.log("I want " + drink);
break;
case "coffee":
console.log("I want " + drink);
break;
default:
console.log("I want "+"black tea");
}
以上的指令,drink的值為「milk」,因此會顯示出「I want milk」的結果。
另一個可用來進行流程控制的功能叫做迴圈,迴圈的指令有分為兩種,一種 for 迴圈,另一種為while迴圈,可以重複執行大量的任務。
var result=0
for ( var i=1; i<=5; i++) {
var result=result+i;
}
console.log(result);
如果不確定迴圈跑的次數,則可以用while迴圈:
var i=0
while(i<=5){
var result=result+i;
i++;
}
console.log(result);
JavaScript是一個事件驅動的程式語言,他會根據使用者觸發條件來反應出相對應的事件,像是使用者點擊電商網頁上「立即購買」的按鈕,隔幾秒鐘後就產生已加入購物車的動畫效果,又或者像是滑鼠滑過產品圖上,產品放大的動畫效果,這可以讓網站有更多的互動。
事件處理分別事件類別+事件處理方法:
事件類別:說明事件發生的類別,像是使用者點擊click(點擊)、滑鼠滑過(mouseover)、滑鼠滑出(mouseout)等等
處理方法:當事件發生後,後續要使用的函式,也就是要觸發什麼樣的條件。
以下為事件處理範例寫法:
document.getElementById("btn").addEventListener('click', function() {
alert('恭喜你中獎!');
});
如果想要更深入理解JavaScript的話,可以應用JQuery的函式庫,裡面包含許多為JavaScript設計的擴充功能,更容易設計出與使用者互動功能,又或者是在與工程師溝通新的GA需求時,可以簡單描述JavaScript的概念,能夠讓工程師更容易理解需求內容。